用知識解決問題代表你持續進步,用勞力解決問題只能說明你原地踏步
如果你曾經有撰寫網頁端的經驗,你也許體會過以下狀況
如果這些參數都分散在各個檔案,你在不同環境發佈的時候會改到很想死...
環境變數的功能就是把散佈在各個檔案且會在不同環境需要調整的參數集合到一個檔案
裡面,這樣就能讓你的程式在不同環境中快速發布
區分正式(prod) / 測試(dev)環境
重要不得外流的資料
(資料庫帳號、密碼,使用者權杖...)統一設定的變數內容
(系統ip、網址、port...)我們專案目標是做 FB、IG 的爬蟲,爬蟲會定時執行且將資料儲存到雲端方便瀏覽,最後透過 LINE 回報今日執行狀況。基於這些需求,我會設定環境變數如下:
放棄使用官方api 改用 selenium 網頁模擬器
來做爬蟲,在實際操作中發現以下規則,所以必需使用真實存在的帳戶來爬蟲:
接著我們要知道如何在程式中引入昨天安裝的 dotenv 套件
,如果還沒安裝的請在終端機(Terminal)輸入指令
yarn add dotenv
套件安裝完後,我下面的說明建議你搭配官方文件來了解如何使用,畢竟不是所有套件都有中文資源,你要練習自己讀懂官方文件
require('dotenv').config();
YOUR_VARIABLE='這是環境變數'
process.env.xxx
require('dotenv').config(); //載入.env環境檔
function getEnvVariable () {
const env_variable= process.env.YOUR_VARIABLE // 取出環境變數
console.log(env_variable)
}
getEnvVariable()
在專案資料夾的終端機(Terminal)執行指令
yarn start
如果有輸出
這是環境變數
的字串就代表你成功嚕~
你可以嘗試修改.env裡面的參數再執行 yarn start 來看輸出是不是跟著改變
YOUR_VARIABLE='可以修改我喔'
今天的完整程式碼可以在這裡找到喔
我在 Medium 平台 也分享了許多技術文章
❝ 主題涵蓋「MIS & DEVOPS、資料庫、前端、後端、MICROSFT 365、GOOGLE 雲端應用、個人研究」希望可以幫助遇到相同問題、想自我成長的人。❞
在許多人的幫助下,本系列文章已出版成書,並添加了新的篇章與細節補充:
- 加入更多實務經驗,用完整的開發流程讓讀者了解專案每個階段要注意的事項
- 將爬蟲的步驟與技巧做更詳細的說明,讓讀者可以輕鬆入門
- 調整專案架構
- 優化爬蟲程式,以更廣的視角來擷取網頁資訊
- 增加資料驗證、錯誤通知等功能,讓爬蟲執行遇到問題時可以第一時間通知使用者
- 排程部分改用 node-schedule & pm2 的組合,讓讀者可以輕鬆管理專案程序並獲得更精確的 log 資訊
有興趣的朋友可以到天瓏書局選購,感謝大家的支持。
購書連結:https://www.tenlong.com.tw/products/9789864348008